package com.yuncheng.spcyApi.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yuncheng.spcyApi.dto.JcyLxqdccDto;
import com.yuncheng.spcyApi.entity.SpcyJcyLxqdcs;
import com.yuncheng.common.base.service.BaseService;
import com.yuncheng.spcyApi.entity.SpcyJcyLxqdjl;
import com.yuncheng.spcyApi.vo.jcy.JcyLxqdjlVo;
import com.yuncheng.spcyApi.vo.common.OrderItemVo;
import com.yuncheng.spcyApi.vo.common.PageVo;

import java.util.Date;
import java.util.List;

/**
 * @Description: 检查员遴选签到场次
 * @Author: yuncheng
 * @Date: 2024-01-11
 * @Version: V1.0
 */
public interface ISpcyJcyLxqdcsService extends BaseService<SpcyJcyLxqdcs> {

    // 查询遴选场次签到记录-分页
    Page<JcyLxqdjlVo> selectLxqdjlPageList(PageVo pageVo, JcyLxqdjlVo bean, OrderItemVo orderItemVo);

    /** 获取用户的签到记录列表 */
    List<SpcyJcyLxqdjl> selectLxqdjlByUser(String flxjhid, String userid);

    /**
     * 遴选签到场次-列表查询
     * @param flxjhid 遴选计划id
     * @return
     */
    List<SpcyJcyLxqdcs> selectLxqdccList(String flxjhid);

    /**
     * 初始化生成签到记录
     * @param fuserid 用户id
     * @param flxjhid 遴选计划id
     * @param flxqdccid 遴选培训签到场次id
     */
    void initGenQdjl(String fuserid, String flxjhid, String flxqdccid);

    /**
     * 初始化生成签到记录
     * @param fuserid 用户id
     * @param flxqdccid 遴选培训签到场次id
     * @param fbz 备注
     * @param fqdsj 签到时间
     * @param isUpdateBz 是否为修改备注
     */
    void initGenQdjlInShtg(String fuserid, String flxqdccid, String fbz, Date fqdsj, boolean isUpdateBz);

    /**
     * 查询用户的签到场次
     * @param fuserid 用户id
     * @param flxjhid 遴选计划id
     * @return
     */
    List<JcyLxqdccDto> selectLxqdccList(String fuserid, String flxjhid);

    /**
     * 遴选签到场次-删除
     * @param flxqdccid 遴选签到场次id
     */
    void deleteLxpxqdcs(String flxqdccid);

    /**
     * 遴选签到场次-删除
     * @param flxjhid 遴选计划id
     */
    void deleteLxpxqdcsByLxjdId(String flxjhid);

    /**
     * 遴选签到场次-对应的签到记录
     * @param flxqdccid 遴选签到场次id
     */
    List<SpcyJcyLxqdjl> selectLxqdcsQdjl(String flxqdccid);

    /**
     * 遴选签到次数-已签到人数+1
     * @param flxqdccid 遴选签到场次id
     */
    void addSyncQdcsYqdrs(String flxqdccid);

}
